With advances in natural language processing (NLP), there is an increasing demand to integrate speech recognition capabilities with interactive software applications such that the user can perform simple tasks using voice commands that were previously performed by customer service representatives or by the user interacting with an interactive graphical user interface of a computerized system. Automating some of these customer representative tasks can reduce customer representative hours and operating expenses. This automation is only effective if the users find a friendly and easy to use environment.
As an example, software agents in the form of intelligent personal assistants are being integrated into the operating systems of mobile devices and automobile dashboards. However, such speech recognition software is able to parse a very limited number of voice commands. Although the user can input voice commands for a handful of commands such as searching the worldwide web, taking a photograph, or composing a message, such intelligent personal assistants do not offer a mechanism for managing an entire set of tasks implemented by a more complex application.
Several mobile and web applications are task oriented. Certain dialog systems employing NLP and natural language understanding (NLU) support executing of discrete tasks such as filling forms, completing an online purchase, checking a user's bank balance information, etc. However, these systems cannot engage in dialog with the user and simultaneously perform a series of unrelated and related tasks that the user instructs while conversing with the dialog system.